/*
*@Name: 微新闻
*@Author: xzw
*@Copyright:layui.com
*/
layui.define(['carousel', 'jquery', 'element', 'flow', 'laytpl', 'element', 'laypage', 'form', 'util', 'layer'], function (exports) {
    var carousel = layui.carousel, $ = layui.$, flow = layui.flow, laytpl = layui.laytpl, element = layui.element, laypage = layui.laypage, form = layui.form,
        util = layui.util;




    // 模拟首页数据

    var index = {


        // 移动端下面导航按钮
        common: function () {
            var off = true;
            $('.menu-icon').on('click', function () {
                if (off) {
                    $('.mobile-nav').addClass('layui-show')
                } else {
                    $('.mobile-nav').removeClass('layui-show')
                }
                off = !off
            })
        },

        // 首页轮播
        banner: function () {
            //轮播
            var elemBanner = $('#micronews-carouse'), ins1 = carousel.render({
                elem: elemBanner
                , width: '100%'
                , height: elemBanner.height() + 'px'
                , arrow: 'none'
                , interval: 5000
            });
            $(window).on('resize', function () {
                var width = $(this).prop('innerWidth');
                ins1.reload({
                    height: (width > 768 ? 300 : 150) + 'px'
                });
            });
        },
        
        // 内容的留加载，首页列表，未使用，改为下面的加载方式
        contFlow: function () {
            var obj = index.GetRequest();
            var ptype = 0;
            if (obj.pt && obj.pt > 0) {
                ptype = obj.pt;
            }

            flow.load({
                elem: '#LAY_demo2' //流加载容器
                , scrollElem: '#LAY_demo2' //滚动条所在元素，一般不用填，此处只是演示需要。
                , isAuto: false
                , done: function (page, next) { //加载下一页
                    var obj = { Index: 1, PageSize: 10, Source: "web", ArticleType: ptype };
                    $.ajaxSettings.async = false;//这里需要ajax同步拿到pageCount操作
                    $.post('/api/News/GetNewsList', obj, function (res) {
                        //pageCount = res.Count;//不用ajax就用不着了
                        var getTpl = demo.innerHTML;
                        var view = document.getElementById('LAY_demo2');
                        laytpl(getTpl).render(res, function (html) {
                            view.innerHTML = html;
                        });
                        index.footLayout();
                    });
                    $.ajaxSettings.async = true;

                    //示例
                    //var json = '{"title":"Layui常用模块","list":[{"modname":"弹层","alias":"layer","site":"layer.layui.com"},{"modname":"表单","alias":"form"},{"modname":"分页aaaaa","alias":"laypage"},{"modname":"日期","alias":"laydate"},{"modname":"上传","alias":"upload"}]}';
                    //json = JSON.parse(json);
                    //var getTpl = demo1.innerHTML;
                    //var view = document.getElementById('LAY_demo2');
                    //laytpl(getTpl).render(json, function (html) {
                    //    view.innerHTML = html;
                    //});
                }
            });
        },
        
        // 内容的留加载test，无用
        contFlowtest: function () {
            flow.load({
                elem: '#LAY_demo2' //流加载容器
                , scrollElem: '#LAY_demo2' //滚动条所在元素，一般不用填，此处只是演示需要。
                , isAuto: false
                , done: function (page, next) { //加载下一页
                    var lis = [];
                    //以jQuery的Ajax请求为例，请求下一页数据（注意：page是从2开始返回）
                    $.get('/api/list?page=' + page, function (res) {
                        //假设你的列表返回在data集合中
                        var getTpl = demo.innerHTML

                        layui.each(res.data, function (index, item) {
                            laytpl(getTpl).render(item, function (html) {
                                lis.push(html)
                            });
                        });

                        //执行下一页渲染，第二参数为：满足“加载更多”的条件，即后面仍有分页
                        //pages为Ajax返回的总页数，只有当前页小于总页数的情况下，才会继续出现加载更多
                        next(lis.join(''), page < res.pages);
                    });
                }
            });
        },
        
        // 首页列表分页
        indexPage: function (ele, count) {
            var obj = index.GetRequest();
            var idx = obj.idx;
            var limit = obj.ps;
            var ptype = obj.pt;

            if (!ptype) {
                ptype = 2;
            }
            if (!idx) {
                idx = 1;
            }
            if (!limit) {
                limit = 10;
            }

            laypage.render({
                elem: ele //注意，这里的 ele 是 ID，不用加 # 号
                , limit: limit //每页显示的条数。laypage将会借助 count 和 limit 计算出分页数。
                , count: count //数据总数，从服务端得到
                , prev: "上一页"
                , next: "下一页"
                , curr: idx //当前页
                , jump: function (obj, first) { //触发分页后的回调
                    //obj包含了当前分页的所有参数，比如：
                    console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
                    console.log(obj.limit); //得到每页显示的条数

                    //首次不执行
                    if (!first) {
                        window.location.href = "/news/index?pt=" + ptype + "&idx=" + obj.curr + "&ps=" + obj.limit + "";
                    }
                    //else {
                    //    var param = { Index: idx, PageSize: limit, Source: "web", ArticleType: ptype };
                    //    $.post('/api/News/GetNewsList', param, function (res) {
                    //        pageCount = res.Count;
                    //        var getTpl = demo.innerHTML;
                    //        var view = document.getElementById('LAY_demo2');
                    //        laytpl(getTpl).render(res, function (html) {
                    //            view.innerHTML = html;
                    //        });
                    //        index.footLayout();
                    //    });
                    //} 

                }
            });
        },

        // 搜索列表分页
        searchPage: function (ele, count) {
            var obj = index.GetRequest();
            var keyWord = obj.q;
            var idx = obj.idx;
            var limit = obj.ps;

            laypage.render({
                elem: ele //注意，这里的 ele 是 ID，不用加 # 号
                , limit: limit //每页显示的条数。laypage将会借助 count 和 limit 计算出分页数。
                , count: count //数据总数，从服务端得到
                , prev: "上一页"
                , next: "下一页"
                , curr: idx //当前页
                , jump: function (obj, first) { //触发分页后的回调
                    //obj包含了当前分页的所有参数，比如：
                    console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
                    console.log(obj.limit); //得到每页显示的条数

                    //首次不执行
                    if (!first) {
                        window.location.href = "/news/search?q=" + keyWord + "&idx=" + obj.curr + "&ps=" + obj.limit + "";
                    }
                }
            });
        },

        // 分页
        Page: function (ele, count) {
            laypage.render({
                elem: ele //注意，这里的 ele 是 ID，不用加 # 号
                , count: count //数据总数，从服务端得到
            });
        },

        // 右侧热门资讯List
        hotNews: function () {
            flow.load({
                elem: '#hotNewsRight' //流加载容器
                , isAuto: false
                , done: function (page, next) { //加载下一页
                    $.get('/api/News/GetHotNewsList', function (res) {
                        var getTpl = demo2.innerHTML;
                        var view = document.getElementById('hotNewsRight');
                        laytpl(getTpl).render(res, function (html) {
                            view.innerHTML = html;
                        });
                    });
                }
            });
        },

        // 输入留言
        EnterMessage: function () {
            $('.micronews-details-Publish').on('click', function (e) {
                var event = e || event;
                var img = $(this).parents('form').siblings('a').find('img').attr('src');
                var messagetext = $(this).siblings('.message-text').find('.txt');
                var textarea = $(this).parents('.layui-form-item').siblings('.layui-form-text').children('.layui-input-block').children('textarea');
                if (!textarea.val()) {
                    messagetext.text('请输入留言')
                    return;
                }
                var name = $(textarea).val();
                var view = $('.ulCommentList')
                var html = messageTpl.innerHTML;
                var data = {
                    avatar: img,
                    name: '我是锦鲤',
                    cont: name,
                }
                $('.message-text .txt').text('')
                laytpl(html).render(data, function (html) {
                    view.prepend(html)
                });
                textarea.val("")
                return false;
            })
        },
        onInput: function () {
            // if (!("oninput" in document.body)) {
            // element.onpropertychange = function() { 
            //   if (event.propertyName == "value")
            //     this.oninput && this.oninput(event);
            //   }
            // }
            $("#onInput").bind("input propertychange", function (event) {
                if (!$(this).val()) {
                    $('.message-text .txt').text('')
                    return;
                }
                $('.message-text .txt').text('已经输入' + $(this).val().length + '字')
            });


        }
        ,
        //超出多少文件就省略号
        //最好在后端操作，前端会闪烁
        omitted: function (ele, num) {
            $(ele).each(function () {
                var str = $(this).html();
                var subStr = str.substring(0, num);
                $(this).html(subStr + (str.length > num ? '...' : ''));
            });
        },

        //搜索跳转的页面
        //type，首页不能为空，搜索页面可以为空，直接清空重置列表
        seachBtn: function (type) {
            $('.search-btn').on('click', function () {
                var keyWord = $(this).siblings('input').val();
                if (type == 'search') {
                    window.location.href = "/news/search?q=" + keyWord + "";
                }
                else {
                    //if (keyWord) {
                    //    window.location.href = "/news/search?q=" + keyWord + "";
                    //}
                    window.location.href = "/news/search?q=" + keyWord + "";
                }
                return false;
            });
        },

        //获取url参数
        GetRequest: function() {
            var url = location.search; //获取url中"?"符后的字串
            url = url.substr(url.lastIndexOf('?'));
            var theRequest = new Object();
            if (url.indexOf("?") != -1) {
                var str = url.substr(1);
                strs = str.split("&");
                for (var i = 0; i < strs.length; i++) {
                    theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
                }
            }
            return theRequest;
        },
        //搜索页面，关键词高亮标红
        KeyWordHighLight: function () {
            //空不执行
            var obj = index.GetRequest();
            if (!obj.q) {
                return;
            }

            var content = document.getElementById("searchListDiv");
            var contents = content.innerHTML;
            var value = decodeURI(obj.q);
            var values = contents.split(value);
            content.innerHTML = values.join('<span style="color:red;">' + value + '</span>');
        },

        //获取验证码事件
        login: function () {
            var data = {
                status: true
            }
            $("#veriCodeBtn").click(function () {
                if (!/^1\d{10}$/.test($("#phone").val())) {
                    layer.msg("请输入正确的手机号");
                    return false;
                }
                if (!$("#imgCode").val()) {
                    layer.msg("请输入验证码");
                    return false;
                }
                var obj = this;
                if (data.status) {
                    $(obj).addClass(" layui-btn-disabled");
                    $(obj).attr('disabled', "true");
                    settime(obj);
                }
            })
            var countdown = 60;
            function settime(obj) {
                if (countdown == 0) {
                    obj.removeAttribute("disabled");
                    obj.classList.remove("layui-btn-disabled")
                    obj.value = "获取验证码";
                    countdown = 60;
                    return;
                } else {

                    obj.value = "重新发送(" + countdown + ")";
                    countdown--;
                }
                setTimeout(function () { settime(obj) }, 1000)
            }
            form.on('submit(*)', function (data) {
                window.location.href = 'index.html'
                return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
            })
        },

        // 右侧小箭头
        arrowutil: function () {
            //固定 bar
            util.fixbar({
                click: function (type) {
                    if (type === 'bar1') {
                        //
                    }
                }
            });
        },

        // 详情页 右侧资讯推荐List
        newsRecommend: function () {
            flow.load({
                elem: '#newsRecommend_ul' //流加载容器
                , isAuto: false
                , done: function (page, next) { //加载下一页
                    $.get('/api/News/GetHotNewsList', function (res) {
                        var getTpl = newsRecommend.innerHTML;
                        var view = document.getElementById('newsRecommend_ul');
                        laytpl(getTpl).render(res, function (html) {
                            view.innerHTML = html;
                        });
                    });
                }
            });
        },

        //ajax数据加载完成后加载底部，避免页面闪烁
        //_HeadLayout 变量 foothtml
        footLayout: function () {
            $(function () {
                $(".footer").html(foothtml);
            });
        },

        //弹出层，layer弹出二维码图片
        popWechat: function () {
            var html = "<img style='height: 200px;width: 200px;' src='/Images/source/xiaochengxu1.png'>";
            layer.open({
                type: 1,
                title: false,
                closeBtn: 0,
                shade: [0.001, '#393D49'],
                area: '200px',
                skin: 'layui-layer-nobg', //沒有背景色
                shadeClose: true,
                //offset: 'rb',//右下角
                //offset: ['434px', '800px'],//定义top，left
                offset: 't',//定义top，left
                content: html
            });
        },

    }

    index.common();
    exports('index', index);
});